﻿<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=1">
    <meta name="format-detection" content="telephone=no">
    <meta charset="UTF-8">
    <title>数组-filter&map</title>
    <link rel="stylesheet" href="../css/bootstrap.css"/>
    <script src="../js/jquery-2.2.0.min.js"></script>
    <script src="../js/bootstrap.min.js"></script>
</head>
<body>
    <h1>数组-filter&map</h1><br/>

    <div id="app">
        {{name}}
    </div>
<script src="../js/vue-2.5.16.js"></script>
<script src="../node_modules/axios/dist/axios.js"></script>
<script src="../node_modules/lodash/lodash.js"></script>

<script>
    var app = new Vue({
        el:'#app',
        data:{
            name:'模版数据'
        },
        mounted(){
            //filter是否操作原数组，   不     返回结果:      过滤后的新数组
            //回调函数的返回结果。    如果返回true    表示这一项放到新数组中
            //  arr.filter(function(item,index){})
            //  一般过滤完以后，数组的数据会变少，可以理解成    删除
            let newArr = [1,2,3,4,5].filter(function(item){
                return item>2&&item<5;
            });
            console.log(newArr);

            /*
             *  map映射   将原有的数组映射成一个新数组例如[1,2,3]变成
             *  <li>1</li><li>2</li><li>3</li>
             *  不操作原数组  返回一个新数组         回调函数中返回什么这一项就是什么
             *  一般过滤完以后，数组的数据会发生更新，记住不操作原数组是返回一个新数组，可以理解成    更新
             */
            let arr2 = [1,2,3,4].map(function(item){
                return `<li>${item}</li>`;//    `` 是es6中的模版字符串  遇到变量用   ${}取值
            })
            console.log(arr2.join(''));
        }
    });
</script>

</body>
</html>